A Perth driver has been charged by police after said they were unable to conduct a roadside breath test because his blood alcohol reading was too high for their portable breathalyser machine.

Traffic police stopped the man, 51, on Wednesday as he was driving on Croyden Road in Roleystone just before 11:00am.

Officers said when they approached the car, the driver was barely conscious and had bottles of alcohol lying on the front seat and floor of the car.

"It appeared he'd stocked the front seat of his party bus so he'd never run out," police said in a statement.

The Kelmscott man was taken to the Armadale police station for further breath testing using different machinery, where police were able to obtain a reading.

'Anytime, anywhere': police

Police said officers were able to calculate the man's initial blood alcohol reading as having been 0.338, almost seven times the legal limit.

"It appeared he'd stocked the front seat of his party bus so he'd never run out," police said after pulling over a "barely conscious" driver. ( Supplied: WA Police )

The man was charged with driving a motor vehicle under the influence of alcohol.

He is due to appear in the Armadale Magistrates Court on June 25.

Police said the incident reinforced their "anytime, anywhere" message warning drivers that officers are always present on WA roads, looking out for illegal activity.